package tests;

import common.AutotestUtils;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;

import java.io.IOException;

// 登录页面
public class LoginPage extends AutotestUtils {

    // 登录页面url
    static String url = "http://113.45.242.167:8080/login.html";

    public LoginPage() {
        super(url);
    }

    // 查看页面是否加载成功
    public void loginPageRight(){
        driver.findElement(By.cssSelector("body > div.main-container > div > h3")).getText().equals("登录");

    }

   // 检查登录功能 -- 成功登录
    public void loginSuccess() throws InterruptedException {

            // 先清空输入框
            driver.findElement(By.cssSelector("#userName > input[type=text]")).clear();
            driver.findElement(By.cssSelector("#inputCaptcha")).clear();
            driver.findElement(By.cssSelector("#password > input[type=password]")).clear();
            // 输入正确用户名+密码+万能验证码
            driver.findElement(By.cssSelector("#userName > input[type=text]")).sendKeys("Autotest");
            driver.findElement(By.cssSelector("#password > input[type=password]")).sendKeys("123456");
            driver.findElement(By.cssSelector("#inputCaptcha")).sendKeys("xieyeqi");
            // 登录
            driver.findElement(By.cssSelector("#submit")).click();
            Thread.sleep(1000);
            // 判断当前是否是成功登录的主页
            String title =  driver.getTitle();
            assert "主页".equals(title) ;
            // 退出


    }



    // 检查登录功能 -- 异常登录
    public void loginFail() throws InterruptedException, IOException {
        // 先清空输入框
        driver.findElement(By.cssSelector("#userName > input[type=text]")).clear();
        driver.findElement(By.cssSelector("#inputCaptcha")).clear();
        driver.findElement(By.cssSelector("#password > input[type=password]")).clear();
        // 输入正确用户名+密码+万能验证码
        driver.findElement(By.cssSelector("#userName > input[type=text]")).sendKeys("zhangsan1");
        driver.findElement(By.cssSelector("#password > input[type=password]")).sendKeys("1234");
        driver.findElement(By.cssSelector("#inputCaptcha")).sendKeys("xieyeqi");

        // 登录
        driver.findElement(By.cssSelector("#submit")).click();
         Thread.sleep(1000);
        // 弹出用户名或密码错误窗口
        Alert alert = driver.switchTo().alert();

        // 获取当前方法的名字
        String methodName =  new Object() {}.getClass().getEnclosingMethod().getName();
        // 截图名字传递 当前类名+方法名
        assert alert.getText().equals("用户名或密码错误");
        alert.accept();
        getTakeScreenShot(getClass().getName()  +"." + methodName);
        driver.quit();
    }
}
